=========================================================================
ISTRUZIONI per il SECONDO ASSEGNAMENTO INFORMATICA anno 2015/16
========================================================================
L'assegnamento prevede la realizzazione di un semplice simulatore
dell'espansione di un fluido in un'area composta da zone con diversi
valori di permeabilità (vedi percolation.pdf).
Si richiede di realizzare il codice delle funzioni specificate in percolation.h.

------------------------------------------------
Estrarre il materiale dal KIT dell'assignment
------------------------------------------------
Creare una directory temporanea, copiare kit_a2.tar  
nella directory e spostarsi nella directory appena creata. Es.

$$ mkdir Assegnamento2
$$ mv kit_a2.tar Assegnamento2
$$ cd Assegnamento2

S-tarare i file del kit con

$$ tar xvf kit_a2.tar

questo comando crea nella directory corrente una directory "PERCOLATION"
con i seguenti file

$$ ls PERCOLATION
percolation.pdf		: specifiche dell'assegnamento


percolation.h		: dichiarazione delle funzioni da realizzare
percolation_docenti.c	: file con l'implementazione delle funzioni 
                          fornite dai docenti

test_*.c		: vari main di test
			(NON MODIFICARE)

gruppo.txt              : file di gruppo e script di verifica 
gruppo-check.pl		  (uguali a quelli del primo assegnamento)

Doxyfile
README.doxygen		: occorrente documentazione doxygen

README			: questo file


========================================================================
ISTRUZIONI per la realizzazione dell'assegnamento
========================================================================

L'assegnamento prevede la realizzazione di alcune funzioni
definite in percolation.h e descritte in percolation.pdf.
Le funzioni devono essere sviluppate in un unico file percolation.c.

Nel makefile sono automatizzati alcuni test.

Sviluppare le funzioni una alla volta testandole passo passo
con un oppotuno main().
Solo quando siamo ragionevolmente convinti della correttezza del
codice si puo' passare al testing automatico del codice con i test
forniti dai docenti.

Solo gli elaborati che passano i test possono essere consegnati.

------------------
Come procedere :
-----------------

1) leggere attentamente il file delle specifiche percolation.pdf

2) implementare e testare le funzioni richieste in un file percolation.c

3) testare il software con i test forniti dai
  docenti. 

       $ make test1
       $ make test2
       $ make test3
       

  NOTA: (1) il file percolation.c si deve trovare nella directory PERCOLATION/
 
  (2) E' importante che i test forniti dai docenti vengano effettuati solo su
  funzioni gia' funzionanti e testate altrimenti i risultati
  possono essere di difficile interpretazione, fuorvianti o inutili.

4) preparare la documentazione: ovvero commentare adeguatamente percolation.c
   ed inserire una intestazione contenente il nome
   dello sviluppatore ed una dichiarazione di originalita' 

   /** \file pippo.c
       \author Nino Bixio & Giuseppe Garibaldi
     Si dichiara che il contenuto di questo file e' in ogni sua parte opera
     originale delgli autori.  */

     Non e' richiesto di preparare anche la documentazione formato
     doxygen. Chi volesse farlo e' invitato a leggere il  README.doxigen.

6) aggiornare il file "gruppo.txt" con nomi e dati

7) consegnare il file ESCLUSIVAMENTE eseguendo

      bash:~$ make consegna

   e seguendo le istruzioni. 
   Il target consegna crea un file tar che deve essere inviato
   a susanna.pelagatti@gmail.com con subject

   "info16: consegna secondo assegnamento (primo anno)"
   se siete studenti del primo anno
   o
   "info16: consegna secondo assegnamento (secondo anno)"
   se siete studenti degli anni successivi

   Se il make non funziona nell'ambiente in cui state sviluppando, create
   un tar file con all'interno il file percolation.c e gruppo.txt ed 
   inviatelo al docente come sopra.

   Tutte le consegne verranno confermate con un messaggio entro 2/3
   giorni all'indirizzo da cui e' stata effettuata la consegna. In
   caso questo non si verifichi contattare il docente.
   

---------------------------------------
 NOTE IMPORTANTI: LEGGERE ATTENTAMENTE
---------------------------------------


1) tutti gli elaborati verranno confrontati fra di loro con tool automatici
   per stabilire eventuali situazioni di PLAGIO. Se gli elaborato sono 
   ragionevolmente simili verranno scartati.

2) Chi in sede di orale risulta palesemente non essere l'autore del software
   consegnato in uno degli assegnamenti dovra' ripetere l'esame

3) Tutti i comportamenti scorretti ai punti 1 e 2 verranno segnalati
   ufficialmente al presidente del corso di laurea

----------------------------
 VALUTAZIONE DELL'ASSEGNAMENTO:
----------------------------

Gli studenti che consegnano una versione funzionante e ragionevolmente
corretta dell'assegnamento entro la data di scadenza accumulano un bonus di 2
punti che verra' sommato al voto finale (vedi lucidi lezioni ed
esercitazioni).

La qualita' del codice consegnato e delle discussioni fornite per i 3
assegnamenti sara' valutata complessivamente da 0 a 30 e fara' media
con il voto di esame.
